# -*- coding: utf-8 -*-
class IApagable(object):
	
	"""
	Interfaz que es implementada por todos los objetos que pueden apagarse y encenderse.
	@since: 4/14/2011
	@version: 1.0
	"""
	
	__apagado = False
	""" Bandera de referencia para saber si el objeto esta apagado """
	
	def __init__(self):
		"""
		Constructor
		@type	self: IApagable
		@param	self: referencia al objeto IApagable actual
		"""
		pass

	def apagar(self):
		"""
		Metodo para apagar el IApagable.
		@type	self: IApagable
		@param	self: referencia al objeto Apagable actual
		"""
		self.__apagado=True

	def encender(self):
		"""
		Metodo para encender el IApagable
		@type	self: IApagable
		@param	self: referencia al objeto Apagable actual
		"""
		self.__apagado=False
		
	def get(self):
		"""
		Metodo para obtener el estado del IApagable. True = Apagado, False = Encendido
		@type	self: IApagable
		@param	self: referencia al objeto Apagable actual
		"""
		return self.__apagado
	
	def getAcciones(self):
		"""
		Devuelve las acciones que realiza la interfaz
		@type	self: IApagable
		@param	self: referencia al objeto Apagable actual
		"""
		return ['apagar', 'encender']
